package org.zebra.satoken;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class LoginUser<T> implements Serializable {

    /**
     * 用户ID
     */
    private T userId;

    /**
     * 用户账号
     */
    private String userName;

    /**
     * 设备类型
     */
    private String deviceType;

    /**
     * 0 为 管理员  1 为普通用户
     */
    private int userType;

    /**
     * 获取登录id
     *
     * @return id
     */
    public String getLoginId() {
        if (deviceType == null) {
            throw new IllegalArgumentException("设备类型不能为空");
        }
        if (userId == null) {
            throw new IllegalArgumentException("用户ID不能为空");
        }
        return String.valueOf(userId) + ":" + deviceType;
    }
}
